//
//  MSVideoProgressView.m
//  MSPhotoBrowser
//
//  Created by zzg on 2021/8/30.
//

#import "MSVideoProgressView.h"
#import "UIView+MSAddition.h"


@implementation MSVideoProgressView

- (void)drawRect:(CGRect)rect {
    //    定义扇形中心
    CGPoint origin = CGPointMake(self.width/2, self.height/2);
    //    定义扇形半径
    CGFloat radius = self.width/2;
    
    //    设定扇形起点位置
    CGFloat startAngle = - M_PI_2;
    //    根据进度计算扇形结束位置
    CGFloat endAngle = startAngle + self.progress * M_PI * 2;
    
    //    根据起始点、原点、半径绘制弧线
    UIBezierPath *sectorPath = [UIBezierPath bezierPathWithArcCenter:origin radius:radius startAngle:startAngle endAngle:endAngle clockwise:YES];
    
    //    从弧线结束为止绘制一条线段到圆心。这样系统会自动闭合图形，绘制一条从圆心到弧线起点的线段。
    [sectorPath addLineToPoint:origin];
    
    //    设置扇形的填充颜色
    [_drawColor set];
    
    //    设置扇形的填充模式
    [sectorPath fill];
}


//重写progress的set方法，可以在赋值的同时给label赋值
- (void)setProgress:(CGFloat)progress{
    _progress = progress;
    
    //    赋值结束之后要刷新UI，不然看不到扇形的变化
    [self setNeedsDisplay];
}


@end
